#ifndef QNODE_H
#define QNODE_H

//#include "CTreeObject.h"

#include "Object.h"
#include <list>
using namespace std;

class QNode
{
private:
	int x1, y1, x2, y2;
	int level;
	int id_node;

	QNode *left_top;
	QNode *right_top;
	QNode *left_bottom;
	QNode *right_bottom;

	
	//list<int> objID_list;
public:
	list<Object *> obj_list;

	QNode(){}
	QNode(int x1, int y1, int width, int height, int level, int id);
	QNode(int x1, int y1, int size, int level, int id);
	~QNode();

	int getIDNode() {return id_node;}
	int getX1() {return x1;}
	int getY1() {return y1;}
	int getX2() {return x2;}
	int getY2() {return y2;}
	int getLevel() {return level;}
	void setLeftTop(QNode *obj) {left_top = obj;}
	void setRightTop(QNode *obj) {right_top = obj;}
	void setLeftBottom(QNode *obj) {left_bottom = obj;}
	void setRightBottom(QNode *obj) {right_bottom = obj;}
	QNode* getLeftTop() {return left_top;}
	QNode* getRightTop() {return right_top;}
	QNode* getLeftBottom() {return left_bottom;}
	QNode* getRightBottom() {return right_bottom;}


	void addGameObject(Object *obj);

	list<Object*> getObjList() {return obj_list;}
	//list<int> getObjIDList() {return objID_list;}
};

#endif